package com.zhou.allocation;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * @description:openAPI(Swagger)配置
 * @author:hutao
 * @mail:hutao_2017@aliyun.com
 * @date:2022年2月24日 上午10:12:54
 */
@EnableOpenApi
@EnableKnife4j
@SpringBootConfiguration
public class SwaggerConfiguration {
	/**
	 * @description:屏蔽不暴露的接口
	 * @author:hutao
	 * @mail:hutao_2017@aliyun.com
	 * @date:2022年3月16日 下午5:38:16
	 */
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.OAS_30)
			.apiInfo(apiInfo())
			.select()
			.paths(PathSelectors.regex("/error").negate())
			.build();
		
	}
	/**
	 * @description:设置API文档信息
	 * @author:hutao
	 * @mail:hutao_2017@aliyun.com
	 * @date:2022年3月16日 下午5:37:56
	 */
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("*** 的项目")
				.version("1.0")
				.description("***项目")
				.build();
	}
}
